package com.lnb.gateway.util;

import com.lnb.gateway.constant.Constant;
import org.springframework.web.server.ServerWebExchange;

public class ExchangeUtils {


    /**
     * 设置是否跳过过滤器，使用需要手动判断
     * @param exchange
     */
    public static void setSkip(ServerWebExchange exchange){
        exchange.getAttributes().put(Constant.SKIP_FILTER, true);
    }

    /**
     * 判断是否跳过过滤器，使用需要手动判断
     * @param exchange
     * @return
     */
    public static boolean isSkip(ServerWebExchange exchange){
        //判断该请求是否被标记为跳过下面路由，是，则该过滤器将不会再次路由该请求
        if (!exchange.getAttributes().containsKey(Constant.SKIP_FILTER)) {
            return false;
        }
        return (boolean) exchange.getAttributes().get(Constant.SKIP_FILTER);
    }


}
